Computers are typically inadequate with regards to processing natural language, e.g. as spoken or written by humans. This is because input in the form of natural language is not provided in any specific format that the computer is programmed to receive; humans do not typically communicate (e.g. speak or write) in the logical and ordered manner which computers are used to, and so computers may be unable to deal with such input. Computers may be designed to use language processing models so as to improve their processing of text input. Language processing models are designed to infer meaning from a string of input text.
Language processing models may be provided which operate using a plurality of pre-set rules which are coded into the computer. These rules may be coded, by a user, based on the user's experience with a language. For example, such rules may be based on their understanding of formal requirements for correct syntax and semantics of a language. However, to provide for a more robust form of language processing, such rules may also include reference to informalities or regional variations in language, such as slang. Consequently, to create a satisfactory language processing model, capable of dealing with a variety of text input, an inordinate number of such rules would be needed. To address this issue, it has been suggested that statistical methods may be used, in combination with a machine learning element, to identify and learn rules based on the language processor's experience with text input.
Such language processing models may provide limited insight into the contribution that any one individual word makes to the meaning, or essence, of a phrase. Such models are unable to derive meaning from natural language or to attribute semantic meaning to language. In particular, such models are unable to discern the impact that context has on use of natural language.